﻿#ifndef BaseGameEntity_h__
#define BaseGameEntity_h__

/********************************************************************
	创建于:		2011/04/05
	创建于:		5:4:2011   14:12
	基本文件:	BaseGameEntity
	文件扩展:	h
	作者:		王凯
	
	目的:		游戏对象的基类
*********************************************************************/

#include <string>
#include "Messaging/Telegram.h"

class BaseGameEntity
{
private:
	//该对象的唯一标识
	int m_ID;

	//表示下一个有效地标识
	static int m_iNextValidID;

	//设置ID
	void SetID(int newID);

public:
	//唯一带参数构造
	BaseGameEntity(int id)
	{
		SetID(id);
	}

	//析构
	~BaseGameEntity(){};

	//抽象函数，用于对象的更新
	virtual void Update() = 0;

	//抽象函数，让对象接受指定消息
	virtual bool HandleMessage(const Telegram& msg) = 0;

	//返回对象的id值
	int ID()const {return m_ID;}
};
#endif // BaseGameEntity_h__